// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov. // Jad home page: http://www.geocities.com/kpdus/jad.html // Decompiler options: braces fieldsfirst space lnc package com.google.zxing.client.result; import com.google.zxing.BarcodeFormat; import com.google.zxing.Result; import java.util.HashMap; import java.util.Map; // Referenced classes of package com.google.zxing.client.result: // ResultParser, ExpandedProductParsedResult, ParsedResult public final class ExpandedProductResultParser extends ResultParser { public ExpandedProductResultParser() { } private static String a(int i, String s) { StringBuilder stringbuilder = new StringBuilder(); if (s.charAt(i) != '(') { return null; } String s1 = s.substring(i + 1); for (int j = 0; j < s1.length();) { char c = s1.charAt(j); if (c == ')') { return stringbuilder.toString(); } if (c >= '0' && c <= '9') { stringbuilder.append(c); j++; } else { return null; } } return stringbuilder.toString(); } private static String b(int i, String s) { StringBuilder stringbuilder; String s1; int j; stringbuilder = new StringBuilder(); s1 = s.substring(i); j = 0; _L8: if (j >= s1.length()) goto _L2; else goto _L1 _L1: char c = s1.charAt(j); if (c != '(') goto _L4; else goto _L3 _L3: if (a(j, s1) != null) goto _L2; else goto _L5 _L5: stringbuilder.append('('); _L6: j++; continue; /* Loop/switch isn't completed */ _L4: stringbuilder.append(c); if (true) goto _L6; else goto _L2 _L2: return stringbuilder.toString(); if (true) goto _L8; else goto _L7 _L7: } public ExpandedProductParsedResult parse(Result result) { if (result.getBarcodeFormat() != BarcodeFormat.RSS_EXPANDED) { return null; } String s = result.getText(); if (s == null) { return null; } String s1 = null; String s2 = null; String s3 = null; String s4 = null; String s5 = null; String s6 = null; String s7 = null; String s8 = null; String s9 = null; String s10 = null; String s11 = null; String s12 = null; String s13 = null; HashMap hashmap = new HashMap(); int i = 0; while (i < s.length()) { String s14 = a(i, s); if (s14 == null) { return null; } int j = i + (2 + s14.length()); String s15 = b(j, s); int k = j + s15.length(); if ("00".equals(s14)) { s2 = s15; } else if ("01".equals(s14)) { s1 = s15; } else if ("10".equals(s14)) { s3 = s15; } else if ("11".equals(s14)) { s4 = s15; } else if ("13".equals(s14)) { s5 = s15; } else if ("15".equals(s14)) { s6 = s15; } else if ("17".equals(s14)) { s7 = s15; } else if ("3100".equals(s14) || "3101".equals(s14) || "3102".equals(s14) || "3103".equals(s14) || "3104".equals(s14) || "3105".equals(s14) || "3106".equals(s14) || "3107".equals(s14) || "3108".equals(s14) || "3109".equals(s14)) { s9 = "KG"; s10 = s14.substring(3); s8 = s15; } else if ("3200".equals(s14) || "3201".equals(s14) || "3202".equals(s14) || "3203".equals(s14) || "3204".equals(s14) || "3205".equals(s14) || "3206".equals(s14) || "3207".equals(s14) || "3208".equals(s14) || "3209".equals(s14)) { s9 = "LB"; s10 = s14.substring(3); s8 = s15; } else if ("3920".equals(s14) || "3921".equals(s14) || "3922".equals(s14) || "3923".equals(s14)) { s12 = s14.substring(3); s11 = s15; } else if ("3930".equals(s14) || "3931".equals(s14) || "3932".equals(s14) || "3933".equals(s14)) { if (s15.length() < 4) { return null; } s11 = s15.substring(3); s13 = s15.substring(0, 3); s12 = s14.substring(3); } else { hashmap.put(s14, s15); } i = k; } return new ExpandedProductParsedResult(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, hashmap); } public volatile ParsedResult parse(Result result) { return parse(result); } }